<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/entities/Entity.php';
/**
 * Абстрактный класс для всех DAO
 */
abstract class DAO{
	// Ссылка на объект PDO, содержащий подключение к базе данных. Общее поле
	protected $dbh;
	
	function __construct($dbh)
	{
		$this->dbh = $dbh;
	}
	
	// Методы, которые должны быть переопределены в подклассах
	
	// создание новой сущности
	abstract public function create(Entity $entity);
	// чтение сущности по идентификатору
	abstract public function read($identity);
	// обновление сущности
	abstract public function update(Entity $entity);
	// удаление сущности по идентификатору
	abstract public function delete($identity);
}
?>